Adaptive streaming technology is becoming increasingly common in the industry. Adaptive streaming is a process that adjusts the quality of a video delivered to a user based on changing network conditions to maximize the viewer experience. A streaming server creates “variant bit rate streams” based on available network bandwidth for media to be streamed. The streaming server creates manifest files for the several bit streams. The clients can then select the correct bit stream based upon some algorithmic estimate of the delivery channel.
Streaming servers may be servers that manage home devices, trans-code content, and also manage bandwidth to provide optimal experience with client devices. Since these servers sit in the middle of the client network, they are well suited to accept content, condition the content for the prevailing conditions and existing bandwidth, and make that content available for all of the devices that are on the network. This same notion can be expanded to a more general cloud based server cluster.
Two of several streaming technologies include HTTP live streaming (HLS) and dynamic adaptive streaming of HTTP (DASH). For example, in HLS, a streaming server maintains different variant manifest files called “playlists” for every unique piece of media content. Each playlist is associated with different bit rates (this relates to display quality) indicating different files. Clients download these variant playlist files which are listed in a master playlist file. A single content is split into several file “chunks” which are specified within the playlist. The client then determines the available network bandwidth and plays chunks from the appropriate playlist one by one.
DASH is a standard that was developed by the Moving Picture Expert Group (MPEG). DASH provides a single manifest file called a media presentation description (MPD) that lists all of the variant bit rate files. DASH is hierarchical with respect to the media segment structures and universal resource identifier (URI) from which to locate them, but DASH does not quote subsequent MPD's as compared to HLS, which lists variant playlist from a master playlist.